home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 090 / newmake.arc / MAKE.H < prev    next >
Text File  |  1986-09-21  |  2KB  |  65 lines

  1. /* #define    VAXVMS    1 */        /* uncomment for VAX/VMS */
  2. /* #define    MSDOS    1 */        /* uncomment for MSDOS */
  3.  
  4. #ifdef VAXVMS
  5. #define ESCCHAR `\\`        /* ok to use backslash on VMS */
  6. #endif
  7.  
  8. #ifdef MSDOS
  9. #define ESCCHAR '`'             /* since pathname char is backslash (yech) */
  10. #endif
  11.  
  12. #define MACCHAR '#'             /* macro-definition char */
  13. #define COMCHAR '!'             /* comment char */
  14. #define DEFMAC    "="             /* macro-definition token */
  15. #define DEPEND    ":"             /* dependency-definition token */
  16.  
  17. #define DEBUG    if(0)
  18. #define STRSIZ    512
  19. #define MAXMODS 50
  20.  
  21. /* file attributes */
  22. #define REBUILT 0x01        /* file has been reconstructed */
  23. #define ROOTP    0x02        /* file was named on left side of DEPEND */
  24.  
  25.  
  26. struct date_str {
  27.     unsigned ds_low, ds_high;
  28. };
  29. typedef struct date_str *DATE;
  30.  
  31.  
  32. struct node {
  33.     struct filenode *nfile; /* this node's file */
  34.     struct node *nnext;    /* the next node */
  35. };
  36. typedef struct node NODE;
  37.  
  38.  
  39. struct filenode {
  40.     char *fname;        /* the filename */
  41.     char *fmake;        /* remake string for file */
  42.     DATE fdate;        /* 32 bit last-modification date */
  43.     NODE *fnode;        /* files this file depends on */
  44.     char fflag;        /* magic flag bits */
  45.     struct filenode *fnext; /* the next file */
  46. };
  47. typedef struct filenode FILENODE;
  48.  
  49.  
  50. struct macro {
  51.     char *mname;        /* the macro's name */
  52.     char *mvalue;        /* the macro's definition */
  53.     struct macro *mnext;    /* the next macro */
  54. };
  55. typedef struct macro MACRO;
  56.  
  57.  
  58. extern MACRO *mroot;
  59. extern FILENODE *froot;
  60. extern DATE bigbang;        /* Far, far in the past */
  61. extern DATE endoftime;        /* Far, far in the future */
  62. char *gmacro();
  63. FILENODE *filenode(), *gfile();
  64. char *token();
  65.